دسته بندی ها
19:21 1398/07/07

حذف کامل یک رکورد در جدول ریلیشن شده

مشخصات سوال کننده :
کاربر : sunboy     امتیاز کاربر : 14     رتبه کاربر : 49
دسته بندی : Asp.net Core Sql Server MySql

به این سوال امتیاز بدهید    1
تعداد بازدید این سوال : 3124
پاسخ دهنده : hamdola 23:24 1398/07/26

توضیحاتتون خیلی کمه

بهتر بود کدهاتون رو هم قرار می دادید یا از جدولتون عکسی میذاشتید. منظورتون از جدولی که به خودش ریلیشن شده چی هست دقیقا؟

لطفا سوالتون رو ویرایش کنید و توضیحات کامل تری رو ارائه بدید براش 

به این پاسخ امتیاز بدهید    1
امتیاز: 121 رتبه: 12
پاسخ دهنده : hamdola 23:24 1398/07/26

آیا ستون Parent به صورت یک کلید خارجی ثبت شده؟

اگر یک کلید خارجی هست خب مطمنا ممکنه نشه اطلاعات رو حذف کرد. دلیل هم واضحه. اون ردیفی که شما قصد دارید حذفش کنید یک کلید اصلی داره که این کلید احتمالا در جایی به عنوان کلید خارجی استفاده شده. و اگر این ردیف رو حذف کنید یکپارچگی دیتابیس از بین میره. یعنی بعد از حذف شما دارای یک کلید خارجی میشید که کلید اصلیش حذف شده و این توی دیتابیس امکان پذیر نیست.

شما یا باید ستونی که کلید خارجی هست رو به صورت ساده تعریف کنید نه کلید خارجی یا اینکه کلید های خارجی که تعریف می کنید از نوعی تعریف کنید که بتونه مقدار null هم بپذیره. (این لینک رو ببینید)

به این پاسخ امتیاز بدهید    0
امتیاز: 121 رتبه: 12
پاسخ دهنده : sunboy 23:24 1398/07/26

ممنون از پاسختون در سوال کامل مطرح کردم به هیچ جدول دیگری ریلیشن نشده به خود جدول ریلیشن شده و مفدار null هم می گیره در واقع اگر parent مقدار null باشه منو اصلی است ولی اگر مقدار Identity جدول رو بگیر مثلا 1 میشه زیرمنو منویی که آی دی 1 داره .

به این پاسخ امتیاز بدهید    0
امتیاز: 14 رتبه: 49
پاسخ دهنده : hosein_azm 23:24 1398/07/26

اگه قصدت اینه ک اطلاعات رو توی فرم نمایش ندی   میتونی از حذف منطقی استفاده کنی - یعنی یه پروپرتی به جدولت اضافه کن مثلا به نام delete   . اگه مقدار delete  برابر true  بود ک اونوخت اطلاعات رو توی فرم نمایش نده - با این روش دگ نیازی نیست رکوردی که شامل ی کلید خارجی هست رو حذف کنی - 

به این پاسخ امتیاز بدهید    2
امتیاز: 46 رتبه: 18
پاسخ دهنده : sunboy 23:24 1398/07/26

ممنون آقا حسین عزیز این مورد رو پیاده سازی کردم می خواستم ببینم راهکاری هست برای حذف کامل یا خیر

به این پاسخ امتیاز بدهید    0
امتیاز: 14 رتبه: 49
پاسخ دهنده : mohammad-i 23:24 1398/07/26

با توجه به توضیحات شما متوجه شدم که فیلد ID یونیک نیست.

بهترین راه اینه که برای هر رکورد یک فیلد یونیک بزارید.

به این پاسخ امتیاز بدهید    0
امتیاز: 260 رتبه: 7
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود